import http from './http'

/**
 * 获取借阅记录列表
 * @param {Object} params 查询参数
 * @returns {Promise} 借阅记录列表
 */
export function getBorrows(params) {
  return http.get('/api/borrows', { params })
}

/**
 * 获取借阅记录详情
 * @param {number} id 借阅记录ID
 * @returns {Promise} 借阅记录详情
 */
export function getBorrow(id) {
  return http.get(`/api/borrows/${id}`)
}

/**
 * 创建借阅记录
 * @param {Object} data 借阅记录数据
 * @returns {Promise} 创建结果
 */
export function createBorrow(data) {
  return http.post('/api/borrows', data)
}

/**
 * 归还图书
 * @param {number} id 借阅记录ID
 * @returns {Promise} 归还结果
 */
export function returnBook(id) {
  return http.put(`/api/borrows/${id}/return`)
}

/**
 * 更新借阅记录
 * @param {number} id 借阅记录ID
 * @param {Object} data 更新数据
 * @returns {Promise} 更新结果
 */
export function updateBorrow(id, data) {
  return http.put(`/api/borrows/${id}`, data)
}

/**
 * 删除借阅记录
 * @param {number} id 借阅记录ID
 * @returns {Promise} 删除结果
 */
export function deleteBorrow(id) {
  return http.delete(`/api/borrows/${id}`)
}

/**
 * 获取当前用户的借阅记录
 * @param {Object} params 查询参数
 * @returns {Promise} 借阅记录列表
 */
export function getMyBorrows(params) {
  return http.get('/api/borrows/my', { params })
}

/**
 * 续借图书
 * @param {number} id 借阅记录ID
 * @returns {Promise} 续借结果
 */
export function renewBorrow(id) {
  return http.put(`/api/borrows/${id}/renew`)
}

/**
 * 延长借阅期限
 * @param {number} id 借阅记录ID
 * @param {number} days 延长天数
 * @returns {Promise} 延长结果
 */
export function extendBorrowDays(id, days) {
  return http.put(`/api/borrows/${id}/extend`, { days })
}

/**
 * 取消借阅
 * @param {number} id 借阅记录ID
 * @returns {Promise} 取消结果
 */
export function cancelBorrow(id) {
  return http.put(`/api/borrows/${id}/cancel`)
}

/**
 * 获取即将到期的借阅记录
 * @param {number} days 天数
 * @returns {Promise} 借阅记录列表
 */
export function getExpiringBorrows(days = 7) {
  return http.get('/api/borrows/expiring', { params: { days } })
} 